Flexible command addressing for memory

ABSTRACT

Flexible command addressing for memory. An embodiment of a memory device includes a dynamic random-access memory (DRAM); and a system element coupled with the DRAM, the system element including a memory controller for control of the DRAM. The DRAM includes a memory bank, a bus, the bus including a plurality of pins for the receipt of commands, and a logic, wherein the logic provides for shared operation of the bus for a first type of command and a second type of command received on a first set of pins.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.13/536,663, filed Jun. 28, 2012, which application is incorporatedherein by reference in its entirety.

TECHNICAL FIELD

Embodiments of the invention generally relate to the field of electronicdevices and, more particularly, flexible command addressing for memory.

BACKGROUND

To provide more dense memory for computing operations, conceptsinvolving memory devices (which may be referred to as 3D stacked memory,or stacked memory) having a plurality of closely coupled memory elementshave been developed. A 3D stacked memory may include coupled layers orpackages of DRAM (dynamic random-access memory) memory elements, whichmay be referred to as a memory stack. Stacked memory may be utilized toprovide a great amount of computer memory in a single device or package,where the device or package may also include certain system components,such as a memory controller and CPU (central processing unit).

Within a stacked memory, there may be multiple channels, therebyallowing for separate operations in each channel of a memory device.

However, the use of stacked memory and other similar memory architecturemay require a large number of bus connections to provide the requiredconnections for each channel. Among the bus connections required areconnections for both column and row commands.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the invention are illustrated by way of example, and notby way of limitation, in the figures of the accompanying drawings inwhich like reference numerals refer to similar elements.

FIG. 1 illustrates an embodiment of a shared command memoryarchitecture;

FIG. 2 is an embodiment of channels of a memory device utilizing sharedcommand operation;

FIG. 3 is an illustration of channel of memory;

FIG. 4 is an illustration of addressing of row commands of a memory;

FIG. 5 is an illustration of addressing of column commands of a memory;

FIG. 6 is an illustration of addressing of column and row commands foran embodiment of a shared command bus;

FIG. 7 illustrates an embodiment of a memory device including a sharedbus for a channel;

FIG. 8 is a flow chart to illustrate an embodiment of shared commandoperation of a memory;

FIG. 9 is an illustration of an embodiment of an apparatus or systemincluding stacked memory having elements for shared command operation;and

FIG. 10 an embodiment of a computing system including stacked memoryhaving elements for shared command operation.

DETAILED DESCRIPTION

Embodiments of the invention are generally directed to flexible commandaddressing for memory.

As used herein:

“3D stacked memory” (where 3D indicates three-dimensional) or “stackedmemory” means a computer memory including one or more coupled memory dielayers, memory packages, or other memory elements. The memory may bevertically stacked or horizontally (such as side-by-side) stacked, orotherwise contain memory elements that are coupled together. Inparticular, a stacked memory DRAM device or system may include a memorydevice having a plurality of DRAM die layers. A stacked memory devicemay also include system elements in the device, which may be referred toherein as a system layer or element, where the system layer may includeelements such as a CPU (central processing unit), a memory controller,and other related system elements. The system layer may include a systemon chip (SoC). In some embodiments, the logic chip may be an applicationprocessor or graphics processing unit (GPU).

With the advent of the stacked DRAM standard (such as the WideIOstandard), the DRAM wafer may be stacked with a system element such as asystem on chip (SoC) wafer in the same package with a memory stack. Thestacked memory may utilize through silicon via (TSV) manufacturingtechniques, where vias are produced through silicon dies to providesignal paths through the memory stack.

A stacked memory device may include a system chip and one or more DRAMchips, the DRAM chips forming memory strata or layers coupled with thesystem chip. Each memory stratum may include a plurality of tiles (orportions) of memory. The stacked memory device may include multiplechannels, where a channel may include a column of tiles, such as a tilein each of the strata of the memory device. In some embodiments, amemory device may be a WideIO compatible memory device.

However, a stacked memory device may utilize a large number ofconnections. For example, each channel of a memory device may includebus connections for the commands to be handled by the memory device,where such commands many include both row commands (or, more generally,commands of a first type) and column commands (or commands of a secondtype) of a memory.

In some embodiments, a method, apparatus, or system provides forflexible command addressing. In some embodiments, flexible commandaddressing includes shared row and column command addressing for memory.In some embodiments, a memory provides for improved command efficiencyfor an interface using shared addressing and the elimination ofdedicated pins for addressing of certain commands.

A memory is commonly addressed by row and column, where a number of bitsare utilized in a bus for row and column operations. In an example, in ahigh bandwidth memory (HBM) there may be 8 separate 128-bit channelswith dedicated row and column address for each. In this example,switching to shared row and column bus where a row command utilizes 6bits may result in a savings of 6 pins per channel, or 48 pins perinterface.

In some embodiments, in contrast to a conventional memory utilizing rowand column commands, a method, apparatus, or system provides for aflexible addressing system that allows for row commands and columncommands in a single shared bus. In some embodiments, a memory operateswith the elimination of row command dedicated pins while stillsupporting the row commands using a shared bus having common commandpins.

In some embodiments, a memory includes one or more pins on a bus thatdesignate a row command, a column command, or other command. In oneexample, two bits of a shared bus may be utilized to designate a rowcommand, where a certain signal combination is not utilized for columnor other commands and thus may be used to designate a row command. In animplementation, a low signal on a first pin and a high signal on asecond pin detected by a DRAM results in the interpretation of an inputas a row command. In some embodiments, the signal is an unusedcombination for column commands, and thus does not reduce the number ofbits available for column commands.

In some embodiments, a no operation (NOP) row command and a NOP columncommand are combined into a single command for a shared bus, therebyeliminating a command. In some embodiments, a memory allows forelimination of one command by recognizing a NOP for both row commandsand column commands.

In some embodiments, a memory includes a mode register bit to allow achoice between a shared bus mode and a separate bus mode. In someembodiments, the memory recognizes both row and column commands onshared bus pins in the shared bus mode, and recognizes row columns onrow bus pins and column commands on column bus pins in the separate busmode. In some embodiments, a memory defaults to the shared bus, and,upon receipt of an MRS (Mode Register Set) command, the memory mayswitch from the shared mode to the separate mode.

In a particular implementation, DDR4 SDRAM (double data rate type four,synchronous dynamic random-access memory) is a type of dynamicrandom-access memory (DRAM) with a high bandwidth interface. DDR RAM isDouble Data Rate RAM. Although DDR RAM can be designed for various clockrates, with DDR-266 RAM, for example, operating with a 133 MHz clock,while using both the leading and trailing edge of the clock cycle. Inthis manner, the RAM has an equivalent clock rate of 266 MHz, which thusis a double data rate. In some embodiments, DDR commands are utilized ina memory, the memory providing flexible addressing such that DDR rowcommands and column commands are recognized on common pins of a sharedcommand bus.

FIG. 1 illustrates an embodiment of a shared command memoryarchitecture. In some embodiments, a memory 100 includes a plurality ofchannels 105 including a first channel (Channel 0) 110 and a memorycontroller 150. The memory 100 may be a stacked memory device, includinga WideIO compatible device. In some embodiments, the first channel 110of the memory device includes a memory bank 115 for the storage of data,a bus 130 for the transfer of data to and from the channel of thememory, a mode register 120 to establish either a shared mode or aseparate row and column mode for the bus, and logic 125 to handle theswitching of the mode of the bus.

In some embodiments, the mode register may default in the shared mode,with the logic switching the operation of the bus 130 to the separaterow and column mode upon receiving a command for switching of such mode.In some embodiments, the bus includes a first portion for sharedcommands or for column commands 135 and a second portion for rowcommands 140. In some embodiments, in a certain device, including astacked memory device, the logic 125 interprets row and column commandsutilizing the first portion 135, thereby eliminating the need for pinsto connection with the second portion 140 of the bus for the handling ofrow commands.

FIG. 2 is an embodiment of channels of a memory device utilizing sharedcommand operation. In some embodiments, a memory device includes aplurality of channels 205, shown as eight channels, Channel 0 throughChannel 7, in FIG. 2. In some embodiments, each channel includes acolumn or stack of tiles of memory strata.

In some embodiments, Channel 0 210 includes a shared memory bus 215,such as illustrated in as the second portion 135 of a bus 130 in FIG. 1,for the handling of column and row commands without requiring separatepins for receipt of a row command signal.

FIG. 3 is an illustration of the characteristics of a channel of memory.In this illustration, the channel characteristics 300 include arequirement for an increasing number of pins for larger memory, such asthe illustrated memories of density 8 Gb, 16 Gb, and 32 Gb. The divisionof memory into multiple channels requires command addressing at eachchannel, thus requiring a multiple of the pins required for a singlechannel of memory. In some embodiments, the memory includes flexiblecommand addressing, such utilizing as the memory architectureillustrated in FIG. 1, to allow for reduction in the number of dedicatedpins required for the addressing of types of commands. In someembodiments, a shared bus allows for use of common pins to address rowand column commands.

FIG. 4 is an illustration of addressing of row commands of a memory. Insome embodiments, row commands 400 are encoded on six DDR CA(Command/Address) pins designated as R (Row) pins R(0) through R(5).However, the number of row commands can vary, and may generically bedesignated as n pins. As indicated in the notes of the chart, BA=BankAddress, PAR=Parity Signal, and V=Valid Signal (H, High, or L, Low).

The row commands include signals of a CKE pin (SDR command pin), FIG. 3illustrating a status of the CK pin for the clock period the command issampled (CK_t(n)) and one clock period earlier (CK_t(n−1)), where rowcommands include CKE H and H, with the exception of Power Down Entry(PDE) and of Self Refresh Entry (SRE), indicated by H and L, and PowerDown & Self Refresh (PDX/SRX), indicated by L and H. As indicated, therow commands includes a row no operation (RNOP) command.

In some embodiments, a memory includes a shared bus, allowing for theelimination of dedicated pins R(0) through R(5) for addressing of rowcommands.

FIG. 5 is an illustration of addressing of column commands of a memory.In some embodiments, column commands 500 are encoded on eight DDR CApins designated as C (Column) pins CO through C7. However the number ofcolumn pins may vary, and may generically be referred to here as (n+m)pins, indicating a number of pins that is greater by m than the numberof pins n required for row command addressing, as illustrated in FIG. 4.The column commands include the CKE pin being at values H and H for theclock period the command is sampled (CK_t(n)) and one clock periodearlier (CK_t(n−1)). As indicated, the column commands includes a columnNOP (CNOP) command.

It is noted that column commands generally commence with C(0, 1)=(H, L),with the column NOP commencing with (H, H) and Mode Register Set (MRS)commencing with (L, L). C(0,1) does not equal (L, H) for any of thecolumn command addresses.

Thus, the column and row commands illustrated in FIGS. 4 and 5 require atotal of fourteen pins for the command addressing, six (n) for the rowcommand addressing and eight (n+m) for column command addressing. Insome embodiments, the pins allocated for column addressing are utilizedfor a shared bus, the shared bus providing for the handling of the rowcommands illustrated in FIG. 4 and the column commands illustrated inFIG. 5, with the row command pins R(0) to R(5) being eliminated. In someembodiments, such pins are eliminated for each of a plurality ofchannels of a memory device, thus allowing for a significant reductionin required pins for a memory device.

FIG. 6 is an illustration of addressing of column and row commands foran embodiment of a shared command bus. In some embodiments, the commandsof FIGS. 4 and 5 are supported by a shared command bus, where thecommands 600 are addressed with eight CA pins designated as RC (RowColumn) pins RC(0) through RC(7).

In some embodiments, the number of pins is eight, or (n+m), allowing anadditional m (where m=2 in this case) pins above the n (where n=6 inthis case) used for row command addressing to allow for the designationof the row commands (or, in general to separate the first set ofcommands from the second set of commands). In some embodiments, rowcommands may utilize the two additional bits on the RC0 and RC1 pins (incomparison to the row command pins), where RC (0, 1)=(L, H) for acommand, thereby designating the row commands with an initial signalcombination that was not utilized for column commands.

In some embodiments, the shared commands include a common no operation(Common NOP) substituting for the CNOP and RNOP commands, therebyeliminating the need for a separate NOP command for row commands. Insome embodiments, the shared bus allows for the elimination of the rowCA pins designated as R(0) to R(5) in FIG. 4.

FIG. 7 illustrates an embodiment of a memory device including a sharedbus for a channel. In this illustration, a 3D stacked memory device 700,such as a WideIO memory device, includes a system layer or other element715 on a substrate 730 coupled with one or more DRAM memory die layers705, also referred to herein as the memory stack. In some embodiments,the system element 715 may be a system on chip (SoC) or other similarelement. In this illustration, the DRAM memory die layers include fourmemory die layers. However, embodiments are not limited to anyparticular number of memory die layers in the memory stack 705, and mayinclude a greater or smaller number of memory die layers. Each die layermay include one or more slices or portions, and have one or moredifferent channels, including a channel 0 740. Each die layer mayinclude a temperature compensated self-refresh (TCSR) circuit to addressthermal issues, where the TCSR and a mode register may be a part ofmanagement logic of the device.

Among other elements, the system element 715 may include a memorycontroller 750, such as a WideIO memory controller, for the memory stack705. In some embodiments, each memory die layer, with the possibleexception of the top (or outermost) memory die layer of the memorystack, includes a plurality of through silicon vias (TSVs) 720 toprovide paths through the memory die layers. While a small number orTSVs are provided in FIG. 7 for ease of illustration, an actual numberof TSVs may be much greater.

In some embodiments, each channel of the memory, such as the illustratedchannel 0, includes a shared bus for handling of both column and rowcommands, thereby allowing for a reduction in the number of pinsrequired for addressing of commands for channels of the memory. In someembodiments, the channel may include the elements of the shared commandmemory architecture illustrated in FIG. 1.

FIG. 8 is a flow chart to illustrate an embodiment of shared commandoperation of a memory. In some embodiments, a memory, such as a channelof a memory device, may be initialized or other accessed 805. In someembodiments, the memory may select a default mode, where the mode may bea shared command bus mode 810. In some embodiments, the memory mayreceive a command regarding the bus mode 812, where the command may bean MRS (Mode Register Set) command to set the bus mode.

In some embodiments, if the mode is a separate bus mode 815, then typesof commands are handled separately 820, such as row commands beingreceived on row address pins and interpreted as indicated in FIG. 4 andcolumn commands being received on column address pins and interpreted asindicated in FIG. 5.

In some embodiments, if the mode is a shared bus mode 815, then, uponreceiving a command of any type, the command is handled on a shared bus825, such as row command and column commands being received on rowcolumn address pins and interpreted as indicated in FIG. 6. In aparticular implementation, a command wherein RC(0,1)=(H,H) 830 may beinterpreted as a common NOP command 835, where the common NOP commandreplaces a row NOP command and a column NOP command; a command whereinRC(0,1)=(L,H) 840 may be interpreted as a row command 845; and a commandmay otherwise be interpreted as a column command 850.

FIG. 9 is an illustration of an embodiment of an apparatus or systemincluding stacked memory having elements for shared command operation.Computing device 900 represents a computing device including a mobilecomputing device, such as a laptop computer, a tablet computer(including a device having a touchscreen without a separate keyboard; adevice having both a touchscreen and keyboard; a device having quickinitiation, referred to as “instant on” operation; and a device that isgenerally connected to a network in operation, referred to as “alwaysconnected”), a mobile phone or smart phone, a wireless-enabled e-reader,or other wireless mobile device. It will be understood that certain ofthe components are shown generally, and not all components of such adevice are shown in device 900. The components may be connected by oneor more buses or other connections.

Device 900 includes processor 910, which performs the primary processingoperations of device 900. Processor 910 can include one or more physicaldevices, such as microprocessors, application processors,microcontrollers, programmable logic devices, or other processing means.The processing operations performed by processor 910 include theexecution of an operating platform or operating system on whichapplications, device functions, or both are executed. The processingoperations include operations related to I/O (input/output) with a humanuser or with other devices, operations related to power management,operations, or both related to connecting device 900 to another device.The processing operations may also include operations related to audioI/O, display I/O, or both.

In one embodiment, device 900 includes audio subsystem 920, whichrepresents hardware (such as audio hardware and audio circuits) andsoftware (such as drivers and codecs) components associated withproviding audio functions to the computing device. Audio functions caninclude speaker, headphone, or both such audio output, as well asmicrophone input. Devices for such functions can be integrated intodevice 900, or connected to device 900. In one embodiment, a userinteracts with device 900 by providing audio commands that are receivedand processed by processor 910.

Display subsystem 930 represents hardware (such as display devices) andsoftware (such as drivers) components that provide a display havingvisual, tactile, or both elements for a user to interact with thecomputing device. Display subsystem 930 includes display interface 932,which includes the particular screen or hardware device used to providea display to a user. In one embodiment, display interface 932 includeslogic separate from processor 910 to perform at least some processingrelated to the display. In one embodiment, display subsystem 930includes a touch screen device that provides both output and input to auser.

I/O controller 940 represents hardware devices and software componentsrelated to interaction with a user. I/O controller 940 can operate tomanage hardware that is part of audio subsystem 920, a display subsystem930, or both such subsystems. Additionally, I/O controller 940illustrates a connection point for additional devices that connect todevice 900 through which a user might interact with the system. Forexample, devices that can be attached to device 900 might includemicrophone devices, speaker or stereo systems, video systems or otherdisplay device, keyboard or keypad devices, or other I/O devices for usewith specific applications such as card readers or other devices.

As mentioned above, I/O controller 940 may interact with audio subsystem920, display subsystem 930, or both such subsystems. For example, inputthrough a microphone or other audio device can provide input or commandsfor one or more applications or functions of device 900. Additionally,audio output can be provided instead of or in addition to displayoutput. In another example, if display subsystem includes a touchscreen, the display device also acts as an input device, which can be atleast partially managed by I/O controller 940. There can also beadditional buttons or switches on device 900 to provide I/O functionsmanaged by I/O controller 940.

In one embodiment, I/O controller 940 manages devices such asaccelerometers, cameras, light sensors or other environmental sensors,or other hardware that can be included in device 900. The input can bepart of direct user interaction, as well as providing environmentalinput to the system to influence its operations (such as filtering fornoise, adjusting displays for brightness detection, applying a flash fora camera, or other features).

In one embodiment, device 900 includes power management 950 that managesbattery power usage, charging of the battery, and features related topower saving operation.

In some embodiments, memory subsystem 960 includes memory devices forstoring information in device 900. The processor 910 may read and writedata to elements of the memory subsystem 960. Memory can includenonvolatile (having a state that does not change if power to the memorydevice is interrupted), volatile (having a state that is indeterminateif power to the memory device is interrupted) memory devices, or bothsuch memories. Memory 960 can store application data, user data, music,photos, documents, or other data, as well as system data (whetherlong-term or temporary) related to the execution of the applications andfunctions of system 900.

In some embodiments, the memory subsystem 960 may include a stackedmemory device 962, where the stacked memory device includes sharedcommand addressing, including, for example, the memory architectureillustrated in FIG. 1.

Connectivity 970 includes hardware devices (e.g., connectors andcommunication hardware for wireless communication, wired communication,or both) and software components (e.g., drivers, protocol stacks) toenable device 900 to communicate with external devices. The device couldbe separate devices, such as other computing devices, wireless accesspoints or base stations, as well as peripherals such as headsets,printers, or other devices.

Connectivity 970 can include multiple different types of connectivity.To generalize, device 900 is illustrated with cellular connectivity 972and wireless connectivity 974. Cellular connectivity 972 refersgenerally to cellular network connectivity provided by wirelesscarriers, such as provided via 4G/LTE (Long Term Evolution), GSM (globalsystem for mobile communications) or variations or derivatives, CDMA(code division multiple access) or variations or derivatives, TDM (timedivision multiplexing) or variations or derivatives, or other cellularservice standards. Wireless connectivity 974 refers to wirelessconnectivity that is not cellular, and can include personal areanetworks (such as Bluetooth), local area networks (such as Wi-Fi), widearea networks (such as WiMax), and other wireless communications.Connectivity may include one or more omnidirectional or directionalantennas 976.

Peripheral connections 980 include hardware interfaces and connectors,as well as software components (e.g., drivers, protocol stacks) to makeperipheral connections. It will be understood that device 900 could bothbe a peripheral device (“to” 982) to other computing devices, as well ashave peripheral devices (“from” 984) connected to it. Device 900commonly has a “docking” connector to connect to other computing devicesfor purposes such as managing (such as downloading, uploading, changing,or synchronizing) content on device 900. Additionally, a dockingconnector can allow device 900 to connect to certain peripherals thatallow device 900 to control content output, for example, to audiovisualor other systems.

In addition to a proprietary docking connector or other proprietaryconnection hardware, device 900 can make peripheral connections 980 viacommon or standards-based connectors. Common types can include aUniversal Serial Bus (USB) connector (which can include any of a numberof different hardware interfaces), DisplayPort including MiniDisplayPort(MDP), High Definition Multimedia Interface (HDMI), Firewire, or othertype.

FIG. 10 an embodiment of a computing system including stacked memoryhaving elements for shared command operation. The computing system mayinclude a computer, server, game console, or other computing apparatus.In this illustration, certain standard and well-known components thatare not germane to the present description are not shown. Under someembodiments, the computing system 1000 comprises an interconnect orcrossbar 1005 or other communication means for transmission of data. Thecomputing system 1000 may include a processing means such as one or moreprocessors 1010 coupled with the interconnect 1005 for processinginformation. The processors 1010 may comprise one or more physicalprocessors and one or more logical processors. The interconnect 1005 isillustrated as a single interconnect for simplicity, but may representmultiple different interconnects or buses and the component connectionsto such interconnects may vary. The interconnect 1005 shown in FIG. 10is an abstraction that represents any one or more separate physicalbuses, point-to-point connections, or both connected by appropriatebridges, adapters, or controllers.

In some embodiments, the computing system 1000 further comprises arandom access memory (RAM) or other dynamic storage device or element asa main memory 1015 for storing information and instructions to beexecuted by the processors 1010. RAM memory includes dynamic randomaccess memory (DRAM), which requires refreshing of memory contents, andstatic random access memory (SRAM), which does not require refreshingcontents, but at increased cost. In some embodiments, main memory mayinclude active storage of applications including a browser applicationfor using in network browsing activities by a user of the computingsystem. DRAM memory may include synchronous dynamic random access memory(SDRAM), which includes a clock signal to control signals, and extendeddata-out dynamic random access memory (EDO DRAM). In some embodiments,memory of the system may include certain registers or other specialpurpose memory.

In some embodiments, the main memory 1015 includes stacked memory 1017,wherein the stacked memory device includes shared command addressing,including, for example, the memory architecture illustrated in FIG. 1.

The computing system 1000 also may comprise a read only memory (ROM)1020 or other static storage device for storing static information andinstructions for the processors 1010. The computing system 1000 mayinclude one or more non-volatile memory elements 1025 for the storage ofcertain elements.

One or more transmitters or receivers 1040 may also be coupled to theinterconnect 1005. In some embodiments, the computing system 1000 mayinclude one or more ports 1045 for the reception or transmission ofdata. The computing system 1000 may further include one or moreomnidirectional or directional antennas 1047 for the reception of datavia radio signals.

In some embodiments, the computing system 1000 includes one or moreinput devices 1050, where the input devices include one or more of akeyboard, mouse, touch pad, voice command recognition, gesturerecognition, or other device for providing an input to a computingsystem.

The computing system 1000 may also be coupled via the interconnect 1005to an output display 1055. In some embodiments, the display 1055 mayinclude a liquid crystal display (LCD) or any other display technology,for displaying information or content to a user. In some environments,the display 1055 may include a touch-screen that is also utilized as atleast a part of an input device. In some environments, the display 1055may be or may include an audio device, such as a speaker for providingaudio information.

The computing system 1000 may also comprise a power device or system1060, which may comprise a power supply, a battery, a solar cell, a fuelcell, or other system or device for providing or generating power. Thepower provided by the power device or system 1060 may be distributed asrequired to elements of the computing system 1000.

In the description above, for the purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of the present invention. It will be apparent, however, toone skilled in the art that the present invention may be practicedwithout some of these specific details. In other instances, well-knownstructures and devices are shown in block diagram form. There may beintermediate structure between illustrated components. The componentsdescribed or illustrated herein may have additional inputs or outputsthat are not illustrated or described.

Various embodiments may include various processes. These processes maybe performed by hardware components or may be embodied in computerprogram or machine-executable instructions, which may be used to cause ageneral-purpose or special-purpose processor or logic circuitsprogrammed with the instructions to perform the processes.Alternatively, the processes may be performed by a combination ofhardware and software.

Portions of various embodiments may be provided as a computer programproduct, which may include a non-transitory computer-readable storagemedium having stored thereon computer program instructions, which may beused to program a computer (or other electronic devices) for executionby one or more processors to perform a process according to certainembodiments. The computer-readable medium may include, but is notlimited to, floppy diskettes, optical disks, compact disk read-onlymemory (CD-ROM), and magneto-optical disks, read-only memory (ROM),random access memory (RAM), erasable programmable read-only memory(EPROM), electrically-erasable programmable read-only memory (EEPROM),magnet or optical cards, flash memory, or other type ofcomputer-readable medium suitable for storing electronic instructions.Moreover, embodiments may also be downloaded as a computer programproduct, wherein the program may be transferred from a remote computerto a requesting computer.

Many of the methods are described in their most basic form, butprocesses can be added to or deleted from any of the methods andinformation can be added or subtracted from any of the describedmessages without departing from the basic scope of the presentinvention. It will be apparent to those skilled in the art that manyfurther modifications and adaptations can be made. The particularembodiments are not provided to limit the invention but to illustrateit. The scope of the embodiments of the present invention is not to bedetermined by the specific examples provided above but only by theclaims below.

If it is said that an element “A” is coupled to or with element “B,”element A may be directly coupled to element B or be indirectly coupledthrough, for example, element C. When the specification or claims statethat a component, feature, structure, process, or characteristic A“causes” a component, feature, structure, process, or characteristic B,it means that “A” is at least a partial cause of “B” but that there mayalso be at least one other component, feature, structure, process, orcharacteristic that assists in causing “B.” If the specificationindicates that a component, feature, structure, process, orcharacteristic “may”, “might”, or “could” be included, that particularcomponent, feature, structure, process, or characteristic is notrequired to be included. If the specification or claim refers to “a” or“an” element, this does not mean there is only one of the describedelements.

An embodiment is an implementation or example of the present invention.Reference in the specification to “an embodiment,” “one embodiment,”“some embodiments,” or “other embodiments” means that a particularfeature, structure, or characteristic described in connection with theembodiments is included in at least some embodiments, but notnecessarily all embodiments. The various appearances of “an embodiment,”“one embodiment,” or “some embodiments” are not necessarily allreferring to the same embodiments. It should be appreciated that in theforegoing description of exemplary embodiments of the present invention,various features are sometimes grouped together in a single embodiment,figure, or description thereof for the purpose of streamlining thedisclosure and aiding in the understanding of one or more of the variousinventive aspects. This method of disclosure, however, is not to beinterpreted as reflecting an intention that the claimed inventionrequires more features than are expressly recited in each claim. Rather,as the following claims reflect, inventive aspects lie in less than allfeatures of a single foregoing disclosed embodiment. Thus, the claimsare hereby expressly incorporated into this description, with each claimstanding on its own as a separate embodiment of this invention.

In some embodiments, a memory device includes a DRAM, and a systemelement coupled with the DRAM, the system element including a memorycontroller for control of the DRAM. The DRAM includes a memory bank, abus, the bus including a plurality of pins for the receipt of commands,and a logic, wherein the logic provides for shared operation of the busfor a first type of command and a second type of command received on afirst set of pins. In some embodiments, the first type of command is acolumn command and the second type of command is a row command.

In some embodiments, the logic is further to switch between a first modeproviding for the shared operation of the bus and a second modeproviding for separate bus operation for receipt of the first type ofcommand on the first set of pins as dedicated pins and the second typeof command on a second set of pins. In some embodiments, the first modedoes not require inclusion of the second set of pins.

In some embodiments, a memory device further includes a mode registerfor designation of the first mode or the second mode, the logic toswitch to the first mode or the second mode based on a status of themode register.

In some embodiments, the DRAM is a first channel of a plurality ofchannels of the memory device.

In some embodiments, a method includes initializing a DRAM; receiving acommand for the DRAM, a command bus for the DRAM providing for sharedoperation for a first type of command and a second type of command, thebus having a first set of pins for the receipt of commands; interpretingthe command, wherein interpreting the command includes, upon determiningthat a set of bits of the command are in a first state, interpreting thecommand as the first type of command, and, upon determining that the setof bits of the command are in a second state, interpreting the commandas the second type of command. In some embodiments, the first type ofcommand is a column command and the second type of command is a rowcommand.

In some embodiments, interpreting the command further includes, upondetermining that the set of bits of the command are in a third state,interpreting the command as a no operation (NOP) for both the first typeof command and the second type of command.

In some embodiments, a method further includes switching between a firstmode providing for the shared operation of the bus and a second modeproviding for separate bus operation for receipt of the first typecommand on the first set of pins as dedicated pins and the second typeof command on a second set of pins. In some embodiments, switchingbetween the first mode and the second mode includes switching to thefirst mode or the second mode based on a status of a mode register. Insome embodiments, switching between the first mode and the second modeincludes setting the mode register based on a received mode register set(MRS) command. In some embodiments, a method further includes defaultingto the first mode for the DRAM.

In some embodiments, a system includes a processor to process data forthe system; a transmitter, receiver, or both coupled with anomnidirectional antenna to transmit data, receive data, or both; and amemory device for the storage of data. The memory device includes adynamic random-access memory (DRAM); and a system element coupled withthe DRAM, the system element including a memory controller for controlof the DRAM. The DRAM includes a memory bank, a bus, the bus including aplurality of pins for the receipt of commands, and a logic, wherein thelogic provides for shared operation of the bus for column commands androw commands received on a first set of pins.

In some embodiments, the logic is further to switch between a first modeproviding for the shared operation of the bus and a second modeproviding for separate bus operation for receipt of one of either columnor row commands on the first set of pins as dedicated pins and the otherof column or row commands on a second set of pins. In some embodiments,the first mode does not require inclusion of the second set of pins. Insome embodiments, the memory device further includes a mode register fordesignation of the first mode or the second mode, the logic to switch tothe first mode or the second mode based on a status of the moderegister.

In some embodiments, a non-transitory computer-readable storage mediumhaving stored thereon data representing sequences of instructions that,when executed by a processor, cause the processor to perform operationsincluding initializing a DRAM; receiving a command for a command bus forthe DRAM, the command bus providing for shared operation for columncommands and row commands, the bus having a first set of pins for thereceipt of commands; interpreting the command, wherein interpreting thecommand includes, upon determining that a set of bits of the command arein a first state, interpreting the command as a row command, and, upondetermining that the set of bits of the command are in a second state,interpreting the command as a column command.

In some embodiments, interpreting the command further includes, upondetermining that the set of bits of the command are in a third state,interpreting the command as a NOP for both column commands and rowcommands.

In some embodiments, the medium further includes instructions forswitching between a first mode providing for the shared operation of thebus and a second mode providing for separate bus operation for receiptof one of either column or row commands on the first set of pins asdedicated pins and the other of column or row commands on a second setof pins. In some embodiments, switching between the first mode and thesecond mode includes switching to the first mode or the second modebased on a status of a mode register.

In some embodiments, medium further includes instructions for defaultingto the first mode for the DRAM.

1. A memory device comprising: a dynamic random-access memory (DRAM);and a system element coupled with the DRAM, the system element includinga memory controller for control of the DRAM; wherein the DRAM includes:a memory bank, a bus, the bus including a plurality of pins for thereceipt of commands, and a logic, wherein the logic provides for sharedoperation of the bus for a first type of command and a second type ofcommand received on a first set of pins.
 2. The memory device of claim1, wherein the first type of command is a column command and the secondtype of command is a row command.
 3. The memory device of claim 1,wherein the logic is further to switch between a first mode providingfor the shared operation of the bus and a second mode providing forseparate bus operation for receipt of the first type of command on thefirst set of pins as dedicated pins and the second type of command on asecond set of pins.
 4. The memory device of claim 3, wherein the firstmode does not require inclusion of the second set of pins.
 5. The memorydevice of claim 3, further comprising a mode register for designation ofthe first mode or the second mode, the logic to switch to the first modeor the second mode based on a status of the mode register.
 6. The memorydevice of claim 1, wherein the DRAM is a first channel of a plurality ofchannels of the memory device.
 7. A method comprising: initializing adynamic random-access memory (DRAM); receiving a command for the DRAM, acommand bus for the DRAM providing for shared operation for a first typeof command and a second type of command, the bus having a first set ofpins for the receipt of commands; interpreting the command, whereininterpreting the command includes: upon determining that a set of bitsof the command are in a first state, interpreting the command as thefirst type of command, and upon determining that the set of bits of thecommand are in a second state, interpreting the command as the secondtype of command.
 8. The method of claim 7, wherein the first type ofcommand is a column command and the second type of command is a rowcommand.
 9. The method of claim 7, wherein interpreting the commandfurther includes, upon determining that the set of bits of the commandare in a third state, interpreting the command as a no operation (NOP)for both the first type of command and the second type of command. 10.The method of claim 7, further comprising switching between a first modeproviding for the shared operation of the bus and a second modeproviding for separate bus operation for receipt of the first typecommand on the first set of pins as dedicated pins and the second typeof command on a second set of pins.
 11. The method of claim 10, whereinswitching between the first mode and the second mode includes switchingto the first mode or the second mode based on a status of a moderegister.
 12. The method of claim 11, wherein switching between thefirst mode and the second mode includes setting the mode register basedon a received mode register set (MRS) command.
 13. The method of claim10, further comprising defaulting to the first mode for the DRAM.
 14. Asystem comprising: a processor to process data for the system; atransmitter, receiver, or both coupled with an omnidirectional antennato transmit data, receive data, or both; and a memory device for thestorage of data, the memory device including: a dynamic random-accessmemory (DRAM); and a system element coupled with the DRAM, the systemelement including a memory controller for control of the DRAM; whereinthe DRAM includes: a memory bank, a bus, the bus including a pluralityof pins for the receipt of commands, and a logic, wherein the logicprovides for shared operation of the bus for column commands and rowcommands received on a first set of pins.
 15. The system of claim 14,wherein the logic is further to switch between a first mode providingfor the shared operation of the bus and a second mode providing forseparate bus operation for receipt of one of either column or rowcommands on the first set of pins as dedicated pins and the other ofcolumn or row commands on a second set of pins.
 16. The system of claim15, wherein the first mode does not require inclusion of the second setof pins.
 17. The system of claim 15, wherein the memory device furtherincludes a mode register for designation of the first mode or the secondmode, the logic to switch to the first mode or the second mode based ona status of the mode register. 18-22. (canceled)